b3bab6eb7985ee906df40414c5333de18ec98d8e,python/src/com/jetbrains/python/inspections/quickfix/PyDefaultArgumentQuickFix.java,PyDefaultArgumentQuickFix,applyFix,#Project#ProblemDescriptor#,53
Before Change
PyIfStatement ifStatement = elementGenerator.createFromText(LanguageLevel.forElement(function), PyIfStatement.class,
"if not " + defName + ":\n\t" + defName + " = " + defaultValue.getText());
PyStatement firstStatement = list.getStatements()[0];
PyStringLiteralExpression docString = function.getDocStringExpression();
if (docString != null)
list.addAfter(ifStatement, firstStatement);
else
list.addBefore(ifStatement, firstStatement);
paramList.replace(elementGenerator.createFromText(LanguageLevel.forElement(defaultValue),
PyFunction.class, str.toString()).getParameterList());
}
After Change
PyStatement firstStatement = statements.length > 0 ? statements[0] : null;
PyFunction newFunction = elementGenerator.createFromText(LanguageLevel.forElement(function), PyFunction.class,
functionText.toString());
if (firstStatement == null) {
function.replace(newFunction);
}
else {
final PyStatement ifStatement = newFunction.getStatementList().getStatements()[0];
PyStringLiteralExpression docString = function.getDocStringExpression();
if (docString != null)
list.addAfter(ifStatement, firstStatement);
else {
list.addBefore(ifStatement, firstStatement);
}
paramList.replace(elementGenerator.createFromText(LanguageLevel.forElement(defaultValue),
PyFunction.class, functionText.toString()).getParameterList());